package jonggyuni.basic;

import java.util.Scanner;

public class J08_Array {

	public static void main(String[] args) {
		//배열 array
		//동일한 종류의 여러개의 값들을 저장할 수 있는 자료구조
		//배열에 저장되는 내용을 요소element라 하고 
		//각 요소는 위치값index를 이용해서 접근 할 수 있음
		//위치 값은 0부터 시작
		
		//배열 변수 선언
		
		int numbers[];	 //정수형 배열
		double taxes[];  //실수형 배열
		char names[]; 	 //문자형 배열
		
		//배열 생성
		numbers = new int[10];
		taxes = new double[10];
		names = new char[10];
		
		System.out.println(numbers);
		System.out.println(taxes);
		System.out.println(names);
		
		System.out.println(numbers[0]);
		System.out.println(numbers[1]);
		System.out.println(numbers[9]);
		
		System.out.println(taxes[0]);
		System.out.println(taxes[4]);
		System.out.println(taxes[8]);
		
		System.out.println(names[1]);
		System.out.println(names[5]);
		System.out.println(names[8]);
		
		names[0] = '수';
		names[1] = '지';
		names[2] = '!';
		System.out.println(names[0]);
		System.out.println(names[1]);
		System.out.println(names[2]);
		System.out.println(""+names);
		
		System.out.println(names);
		
		//numbers에 1~10까지 값 저장
		numbers[0]=1;
		numbers[1]=2;
		numbers[2]=3;
		numbers[3]=4;
		numbers[4]=5;
		numbers[5]=6;
		numbers[6]=7;
		numbers[7]=8;
		numbers[8]=9;
		numbers[9]=10;
		System.out.println(numbers[0]);
		System.out.println(numbers[2]);
		System.out.println(numbers[4]);
		System.out.println(numbers[6]);
		System.out.println(numbers[8]);
		
		//반복문을 이용한 배열처리
		for(int i =0; i<=9; i++){
			numbers[i]=i+1;
		}
		for(int i=1;i<=10;i++){
			numbers[i-1]=i;
		}	
		
		//키보드로 입력받은 정수 5개를 그대로 출력
		
		Scanner sc = new Scanner(System.in);
		System.out.println("정수 5개를 입력하세요");
/*		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = sc.nextInt();
		int num4 = sc.nextInt();
		int num5 = sc.nextInt();*/
		
		//각 코드에 공통요소가 없기때문에 반복문으로 변경 불가
	
		//각 코드에 공통요소가 있으므로 반복문으로 변경 가능
		int nums[] = new int[5];
		for(int i=0;i<=4;i++){
			nums[i]=sc.nextInt();
		}
		
		//배열에 저장된 값 출력하기
		for(int i:nums){
			System.out.print( i+ " ");
		}
		
		//배열의 크기 알아내기 : 배열이름.length 속성이용
		System.out.println("");
		System.out.println("배열length");
		System.out.println(nums.length);
		System.out.println(numbers.length);
		//배열 사용시 볼 수 있는 오류
		double vals[] = new double[100];
		vals[0] = 100.0;
		vals[99] = 100.0;
		//vals[100] = 100.0;	
		//ArrayIndexOutOfBoundsException 발생, 배열의 범위 초과
		
		vals[0] =11;
		vals[0] =sc.nextDouble();
		//InputMismatchException
		
		
		sc.close();
		
		
		
	}

}
